﻿using System;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using KC.DTO.Core;
using System.Collections.Generic;
using KC.Service.Core.Enums.WorkFlow;

namespace KC.Service.Core.DTO.WorkFlow
{
    [Serializable]
    [DataContract(IsReference = true)]
    public class FlowResultsDto : EntityBaseDTO
    {
        public Guid Fid { get; set; }
        [DataMember]
        [Display(Name = "发起审批记录表ID")]
        public int Pid { get; set; }
        [DataMember]
        [Display(Name = "审批流程ID")]
        public int FlowId { get; set; }
        [DataMember]
        [Display(Name = "数据ID")]
        public string WorkId { get; set; }
        [DataMember]
        [Display(Name = "审批步骤")]
        public int Step { get; set; }
        [DataMember]
        [Display(Name = "审批结果")]
        [MaxLength(100, ErrorMessage = "输入{0}超长，最大可输入字符长度100")]
        public string FlowResult { get; set; }
        [DataMember]
        [Display(Name = "结果描述")]
        [MaxLength(255, ErrorMessage = "输入{0}超长，最大可输入字符长度255")]
        public string FlowMimo { get; set; }
        [DataMember]
        [Display(Name = "审批用户ID")]
        public Guid AlterUserId { get; set; }
        [DataMember]
        [Display(Name = "审批用户名称")]
        [MaxLength(50, ErrorMessage = "输入{0}超长，最大可输入字符长度50")]
        public string AlterUserName { get; set; }
        [DataMember]
        [Display(Name = "审批用户编号")]
        [MaxLength(50, ErrorMessage = "输入{0}超长，最大可输入字符长度50")]
        public string AlterUserCode { get; set; }
        [DataMember]
        [Display(Name = "审批用户所属部门ID")]
        public Guid? AlterDepartId { get; set; }
        [DataMember]
        [Display(Name = "审批用户所属部门名称")]
        [MaxLength(50, ErrorMessage = "输入{0}超长，最大可输入字符长度50")]
        public string AlterDepartName { get; set; }
        [DataMember]
        [Display(Name = "审批用户所属部门编号")]
        [MaxLength(50, ErrorMessage = "输入{0}超长，最大可输入字符长度50")]
        public string AlterDepartCode { get; set; }
        [DataMember]
        [Display(Name = "审批时间")]
        public DateTime AlterTime { get; set; }


        [DataMember]
        public FlowOrigRecordsDto OrigRecordsDto { get; set; }


    }
}
